//
//  UserConfig.h
//  WisdomOperating
//
//  Created by john on 15/3/6.
//  Copyright (c) 2015年 john. All rights reserved.
/*
 SXW__用户信息配置
 */

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

//用户名
#define _USER_NAME_ @"userName"
//
#define _FIRST_TIME_ @"firstTime"
//登陆状态
#define _HAVE_Login_ @"haveLogin"
//记住密码
#define  _REMEMBER_PASSWORD_ @"rememberPassWord"
//用户名ID
#define _USER_ID_ @"userId"
//用户tureName
#define _USER_TRUENAME_ @"trueName"
//用户昵称
#define _USER_NICKNAME_ @"nickName"
//用户性别
#define _USER_GENDER_ @"userSex"
//用户年龄
#define _USER_AGE_ @"userAge"
//用户生日
#define _USER_BIRTHDAY @"userBirthday"
//用户体重
#define _USER_WEIGHT @"userWeight"
//用户身高
#define _USER_HEIGHT @"userHeight"
//用户手机号码
#define _USER_PHONENUM_ @"mobile"
//用户密码
#define _USER_PASSWORD_ @"password"
//用户等级
#define  _USER_LEVEL_   @"userLevel"

//用户提现密码
#define _USER_TXPASSWORD_ @"txPassWord"
//用户头像
#define _USER_HEADIMAGE_ @"headLogoUrl"
//用户头像data
#define _HEAD_DATA_ @"headImageData"
//用户积分
#define _USER_SCORE_    @"uesrScore"



//蓝牙无key写入
#define _USER_BLUETOOTHKEY_ @"blueToothKey"

//蓝牙物理地址
#define _USER_BLUETOOTH_ADDRESS_ @"bluetoothAddress"

//设置token
#define _USER_TOKEN_ @"token"

//临时报告
#define _USER_SLEEP_ @"baoGao"

//睡眠改善
#define _USER_SLEEP_IMPROVE @"sleepImprove"

//梦境控制
#define _USER_DREAM_IMPROVE @"dreamImprove"

//睡眠改善 show（睡眠报告展示标记）
#define _USER_SLEEP_IMPROVE_SHOW @"sleepImproveShow"

//梦境控制 show（睡眠报告展示标记）
#define _USER_DREAM_IMPROVE_SHOW @"dreamImproveShow"

//报告开始时间 HH:mm
#define _USER_REPOR_TTIME_ @"reportStartTime"

//报告开始时间  NSDate格式的
#define _USER_REPOR_TIME_TYPEDATE @"reportStartTimeTypedate"

//睡眠得分
#define _USER_SLEEP_SCORE_ @"sleepscore"

//深睡时间
#define _USER_SLEEP_SHENSHUI_ @"shenshuiTime"

//做梦时间
#define _USER_DREAM_TIME_ @"dreamTime"

//睡眠时间
#define _USER_SLEEP_TIME @"sleepTime"

//Sunday 周日
#define _USER_AUTO_SUNDAY @"autoSunday"


// Monday 一
#define _USER_AUTO_MONDAY @"autoMonday"

//Tuesday 二
#define _USER_AUTO_TUESDAY @"autoTuesday"

//Wednesday 三
#define _USER_AUTO_WEDNESDAY @"autoWednesday"

//Thursday 四
#define _USER_AUTO_THURSDAY @"autoThursday"

//Friday 五
#define _USER_AUTO_FRIDAY @"autoFriday"

//Saturday六
#define _USER_AUTO_SATURDAY @"autoSaturday"

//智能唤醒时间(重复)
#define _USER_AUTO_TIME @"autoTime"

//设置状态(用来判断关闭前的状态)
#define _USER_JUDGE_COOL @"judgeCool"

//设置睡眠模式开启时间
#define _USER_SLEEP_START_TIME @"sleepStartTime"

//设置睡眠模式关闭时间
#define _USER_SLEEP_END_TIME @"sleepEndTime"

//设置睡眠模式关闭时间
#define _USER_SLEEP_END_TIME_MARK @"sleepEndTimeMark"

//上一次睡眠的小时
#define _USER_SLEEP_LAST_HOUR @"sleepLastHour"

//上一次睡眠的分钟
#define _USER_SLEEP_LAST_MINUTE @"sleepLastMinute"

//上一次睡眠的秒数
#define _USER_SLEEP_LAST_SEC @"sleepLastSec"

//梦境控制弹框开启关闭控制状态
#define _USER_DREAM_SWITCH @"dreamSwitch"

//进程被杀掉的时间
#define _USER_STOPWATCHTIME @"stopWatchTime"

//本地化绑定状态
#define _USER_CONNECTCOOL @"connectCool"

#define _USER_TODAYALARMCLOCKMARK @"todayAlarmClock"

//智能唤醒小憩时间
#define _USER_AUTOXIAOQITIME @"autoXiaoQiTime"

//智能唤醒小时行数
#define _USER_AUTOHOURROW @"autoHourRow"

//智能唤醒分钟行数
#define _USER_AUTOMINROW @"autoMinRow"

//得到第一次登陆的状态
#define _FIRST_COOL @"firstCool"
//固件版本
#define _USER_HARDWARE @"hardware"
//蓝牙适配器版本
#define _USER_BLEHARDWARE @"blehardware"
//软件版本下载链接
#define _USER_SOFTWAREURL @"softwareUrl"
//序列号
#define _USER_SERIALNUMBER @"serialNUMBER"
//第一次开启睡眠模式
#define _FIRSTUSESLEEP @"firstUseSleep"
//第一次使用梦境控制
#define _FIRSTDREEMINGCONTROL @"firstDreemingControl"
//最近一次有分数的报告上传成功与否的标志
#define _MARK_SLEEPDATA_SUBMIT @"markSleepDataSubmit"
//最近一次有分数的报告上传的数据字典
#define _SLEEPDATA_SUBMIT @"SleepDataSubmit"
//最近一次有分数的报告状态的数据字典
#define _SLEEPDATASTATE_SUBMIT @"SleepDataStateSubmit"
//闹钟星期的掩码
#define _ALARM_WEEK_MASK @"weekmask"

#define _SET_TIME_TIME @"settimetime"
//本地推送展示图片 地址
#define _PUSH_IMAGE_URL @"pushimageurl"
//本地推送链接
#define _PUSH_URL @"pushurl"
//保存状态 背景圆环的状态
#define _SHAPE_BACK @"shapeback"
//保存状态 加载圆环的状态
#define _SHAPE_FRONT @"shapefront"
//保存状态 加载圆环的状态
#define _PUSH_BUTTON_SLEEP @"sleepBth"
//保存状态 加载圆环的状态
#define _PUSH_BUTTON_SCORE @"ScoreButton"
//保存状态 加载圆环的状态
#define _PUSH_BUTTON_MONITOR @"monitorBth"
//保存是否处于固件升级状态
#define _UPDATE_HARDWARE @"updatehardware"
//保存固件升级的固件下载地址
#define _UPDATE_HARDWARE_DOWN_URL @"updatehardwareDownurl"
//保存固件升级包本地地址
#define _UPDATE_HARDWARE_DOWN_URL_LOCAL @"updatehardwareDownurlLocal"
//保存网络请求回来的固件版本
#define _HARDWARENUMBERNEW @"hardwareNumberNew"
//保存固件版本在1.4 以上的为YES,可以不发送key进行连接（断开连接之后）
#define _SENDNOKEY @"sendnokey"
/*
 通知定义
 */
//通知实时显示数据刷新
#define _NOTIFICATION_UPDATE_MONITOR @"notificationUpdataMonitor"
//通知实时显示数据刷新最初的1250个点
#define _NOTIFICATION_UPDATE_MONITOR_UI @"notificationFirstUI"
//通知显示心电界面  平均心率刷新
#define _NOTIFICATION_UPDATE_LABEL  @"updateLabel"
//通知显示心电图界面的心形图标的闪烁
#define _NOTIFICATION_SHOW_HEART @"showHeart"

@interface UserConfig : NSObject{
    //储存在本地的数据
    NSMutableDictionary* userConfigDic;
    NSMutableDictionary *lastSignDate;
}

@property (retain, nonatomic) NSMutableDictionary* userConfigDic;
@property(nonatomic,strong)NSMutableArray *ads;//获取广告跳转页地址
//得到单例
+ (UserConfig*)sharingUserConfig;

//储存数据
- (void)saveConfigerData;
//清空数据
- (void)clearConfigerData;

//设置判断是否是第一次使用参数
-(void)setIfFirstTime:(NSString *)firstTime;
//得到是否是第一次使用
-(NSString *)getIfFirstTime;

//设置判断是否已登录
- (void)setHaveLogin:(NSString *)login;
//得到登陆状态
- (NSString *)getHaveLogin;

//设置判断是否记住密码
- (void)setIfRememberPassWord:(NSString *)remember;
//得到是否记住密码
- (NSString *)getIfRememberPassWord;

//设置用户名
- (void)setCurrentUserName:(NSString*)userName;
//得到当前登录用户名
- (NSString*)getCurrentUserName;

//设置当前登陆用户的头像
- (void)setCurrentUserHeadImage:(UIImage *)headImage;
//得到当前登陆用户的头像
- (UIImage *)getCurrentUserHeadImage;

//设置当前登录用户id
-(void)setCurrentUserID:(NSString *)ID;
//得到当年用户登录id
-(NSString *)getCurrentuserID;

//设置当前登录用户的truename
-(void)setCurrentTrueName:(NSString *)trueName;
//得到当前登陆用户的truename
-(NSString *)getCurrentTrueName;

//设置当前用户的昵称
-(void)setCurrentNickName:(NSString *)nickName;
//得到当前用户的昵称
-(NSString *)getCurrentNickName;

//设置当前用户的性别
-(void)setCurrentuserGender:(NSString *)gender;
//得到当前用户的性别
-(NSString *)getCurrentUserGender;

//设置当前用户的手机号码
-(void)setCurrentPhoneNum:(NSString *)phoneNum;
//得到当前用户的手机号码
-(NSString *)getCurrentPhoneNum;

//设置当前用户的生日
-(void)setCurrentBirthday:(NSString *)birthday;
//得到当前用户的生日
-(NSString *)getCurrentBirthday;

//设置当前用户的年龄
-(void)setCurrentAge:(NSString *)age;
//得到当前用户的年龄
-(NSString *)getCurrentAge;

//设置当前用户的体重
-(void)setCurrentWeight:(NSString *)weight;
//得到当前用的的体重
-(NSString *)getCurrentWeight;

//设置当前用户身高
-(void)setCurrentHeight:(NSString *)height;
//得到当前用户身高
-(NSString *)getCurrentHeight;

//设置当前用户的密码
- (void)setCurrentUserPsd:(NSString*)userPsd;
//得到当前用户的密码
- (NSString*)getCurrentUserPsd;

//设置头像图片
-(void)setcurrentHeadImage:(NSString *)headImage;
//得到当前用户头像
-(NSString *)getCurrentHeadImage;

//设置等级
-(void)setcurrentLevel:(NSString *)level;
//得到等级
-(NSString *)getCurrentLevel;


//设置token
-(void)setToken:(NSString *)token;
//得到token
-(NSString *)getToken;

//设置用户头像data类型数据
- (void)setUserHeadData:(NSData *)headData;
//得到用户data类型数据
- (NSData *)getUserHeadData;

//蓝牙无key写入
-(void)setBlueToothKey:(NSMutableData *)blueKey;
//得到蓝牙key
-(NSMutableData *)getBluetoothKey;

//设置蓝牙的物理地址
-(void) setBluetoothAddress:(NSString *)address;
//得到蓝牙的物理地址
-(NSString *) getBluetoothAddress;

//设置报告
-(void) setSleep:(NSData *)sleepData;
//得到报告
-(NSData *)getSleep;

//设置睡眠改善是否开启
- (void)setSleepImprove:(BOOL)isOK;
//得到睡眠改善是否开启BOOL
- (BOOL)isSleepImprove;

//设置梦境控制是否开启
- (void)setDreamImprove:(BOOL)isOK;
//得到梦境控制是否开启BOOL
- (BOOL)isDreamImprove;


//设置睡眠改善是否开启(睡眠报告展示)
- (void)setSleepImproveShow:(BOOL)isOK;
//得到睡眠改善是否开启BOOL(睡眠报告展示)
- (BOOL)isSleepImproveShow;

//设置梦境控制是否开启(睡眠报告展示)
- (void)setDreamImproveShow:(BOOL)isOK;
//得到梦境控制是否开启BOOL(睡眠报告展示)
- (BOOL)isDreamImproveShow;

//设置报告开始时间
-(void) setReportStartTime:(NSString *)reportTime;
//得到报告开始时间
-(NSString *)getReportStartTime;

//设置睡眠得分
-(void)setSleepScore:(NSString *)score;
//得到睡眠得分
-(NSString *)getSleepScore;

//设置深睡时间
-(void)setsleepShenShuiTime:(NSString *)myTime;
//得到深睡时间
-(NSString *)getSleepShenShuiTime;

//设置做梦时间
-(void)setDreamTime:(NSString *)myTime;
//得到做梦时间
-(NSString *)getDreamTime;

//设置睡眠时间
-(void)setSLeepTime:(NSString *)myTime;
//得到睡眠时间
-(NSString *)getSleepTime;

//Sunday Monday Tuesday Wednesday Thursday Friday Saturday
//设置周日标记
-(void) setSundayMark:(NSString *)Sunday;
//得到周日标记
-(NSString *)getSundayMark;

//设置周1标记
-(void) setMondayMark:(NSString *)Monday;
//得到周1标记
-(NSString *)getMondayMark;

//设置周2标记
-(void) setTuesdayMark:(NSString *)Tuesday;
//得到周2标记
-(NSString *)getTuesdayMark;

//设置周3标记
-(void) setWednesdayMark:(NSString *)Wednesday;
//得到周3标记
-(NSString *)getWednesdayMark;

//设置周4标记
-(void) setThursdayMark:(NSString *)Thursday;
//得到周4标记
-(NSString *)getThursdayMark;

//设置周5标记
-(void) setFridayMark:(NSString *)Friday;
//得到周5标记
-(NSString *)getFridayMark;

//设置周6标记
-(void) setSaturdayMark:(NSString *)Saturday;
//得到周6标记
-(NSString *)getSaturdayMark;

//今天闹钟有没有执行过标记(记录日期)
- (void) setTodayAlarmClockCarryOutMark:(NSString *)Mark;
//得到标记
- (NSString *)gettodayAlarmClockCarryOutMark;

//设置智能唤醒时间（重复）
-(void)setAutoTime:(NSNumber *)Time;
//得到智能唤醒时间（重复）
-(NSNumber *)getAutoTime;

//设置智能唤醒小憩时间
-(void) setAutoXiaoQiTime:(NSNumber *)time;
//得到智能唤醒小憩时间
-(NSNumber *) getAutoXiaoQiTime;

//设置状态
-(void)setJudgeCool:(NSString *)Cool;
//得到状态
-(NSString *)getJudgeCool;

//设置睡眠模式开启时间 HH:mm
-(void)setSleepStartTime:(NSString *)Time;
//得到睡眠模式开启时间 HH:mm
-(NSString *)getSleepStartTime;
//设置报告开始时间  nsdate 格式
-(void)setReportStartTimeTypeDate:(NSString *)reportTime;
//得到报告开始时间 nsdate 格式
-(NSString *)getReportStartTimeTypeDate;

//设置睡眠模式关闭时间
-(void)setSleepEndTime:(NSString *)Time;
//得到睡眠模式关闭时间
-(NSString *)getSleepEndTime;

//上一次睡眠的小时
-(void)setLastHour:(NSString *)Hour;
//得到上一次睡眠的小时
-(NSString *)getLastHour;

//上一次睡眠的分钟
-(void)setLastMinute:(NSString *)Minute;
//得到上一次睡眠的小时
-(NSString *)getLastMinute;

//上一次睡眠的秒数
-(void)setLastSec:(NSString *)Sec;
//得到上一次睡眠的秒数
-(NSString *)getLastSec;

//设置 智能唤醒弹框被关闭了没(1,关。0，nil 继续弹出)
-(void) setJudgeTestingSwitch:(NSString *)Switch;
//得到智能唤醒弹框开关状态
-(NSString *)getJudgeTestingSwitch;

//设置应用被杀前的时间(秒数)
-(void) setStopwatchTime:(NSString *)time;
//得到应用被杀前的时间
-(NSString *) getStopwatchTime;

//设置绑定状态
- (void) setConnectCool:(NSString *)cool;
//得到绑定状态
-(NSString *)getConnectCool;

//设置智能唤醒小时的函数
-(void) setCurrentAutoHourRow:(NSString *)Row;
//得到智能唤醒小时的函数
-(NSString *)getCUrrentAutoHourRow;

//设置智能唤醒分钟的函数
-(void) setCurrentAutoMinRow:(NSString *)Row;
//得到智能唤醒分钟的函数
-(NSString *) getCurrentAutoMinRow;

//第一次登陆状态
-(void) setFirstLoginCool:(NSString *)cool;

//得到登陆状态
- (NSString *) getFirstLoginCool;
//设置固件版本
- (void)setHardware:(NSString *)hardware;
//获得固件版本
- (NSString *)getHardware;
//设置蓝牙适配器版本
- (void)setBLEHardware:(NSString *)bleHardware;
//获得蓝牙适配器版本
- (NSString *)getBLEHardware;

//设置应用新版本下载地址
- (void)setSoftwareURL:(NSString *)url;
//获得固件版本
- (NSString *)getSoftwareURL;

//设置序列号
- (void)setSerialNumber:(NSString *)serialNumber;
//得到序列号
- (NSString *)getSerialNumber;

//标记是否是第一次使用梦境控制，如果是第一次，那么存储特定字符串。宏定义中有。
- (void)setFirstDreemingControl:(NSString *)stringDreem;

//得到是否第一次使用梦境控制，BOOL
- (BOOL)isFirstDreemingControl;

//标记是否是第一次开启睡眠模式，如果是第一次，那么存储特定字符串。宏定义中有。
- (void)setFirstUseSleep:(NSString *)stringSleep;

//得到是否第一次使用睡眠模式，BOOL
- (BOOL)isFirstUseSleep;
//自然唤醒的掩码
-(void) setAlarmMask:(NSNumber *)weekmask;
-(NSNumber *) getAlarmMask;


//设置自然唤醒的绝对时刻，如果没设置的话为nil  //TODO:需要修改
-(void)setStartalarmTime:(NSNumber *)Time;
-(NSNumber *)getStartalarmTime;

//睡眠报告上传标志。默认是NO。
- (void)setSubmitSleepMark:(BOOL)isYes;
//得到睡眠报告上传标志,如果最近的一次有分数的报告已经上传了，为YES，否则为NO.
- (BOOL)getSubmitSleepMark;

//睡眠报告上传数据字典
- (void)setSubmitSleepData:(NSDictionary *)dataDic;
//得到睡眠报告上传数据字典.
- (NSDictionary *)getSubmitSleepData;

//睡眠报告上传数据字典状态
- (void)setSubmitSleepDataState:(NSDictionary *)dataDic;
//得到睡眠报告上传数据字典状态
- (NSDictionary *)getSubmitSleepDataState;
//设置睡眠关机时间标记
- (void)setHadSetEndTime:(BOOL)isOK;
//获取睡眠关机时间标记
- (BOOL)getHadSetEndTime;
//本地推送的图片加载地址
- (void)setImageURL:(NSString *)url;
//获取本地推送的图片记载的地址
- (NSString *)getImageURL;
//设置本地推送对应的链接
- (void)setPushURL:(NSString *)url;
//获取本地推送对应的链接
- (NSString *)getPushURL;
//保存背景圆环的状态（本地推送的时候需要用到）
- (void)setbackShapeHidden:(BOOL)YESORNO;
//得到背景圆环的状态（本地推送的时候需要用到）
- (BOOL)getbackShapeHidden;
//保存加载圆环的状态（本地推送的时候需要用到）
- (void)setfrontShapeHidden:(BOOL)YESORNO;
//得到加载圆环的状态（本地推送的时候需要用到）
- (BOOL)getfrontShapeHidden;


//保存睡眠按钮的状态（本地推送的时候需要用到）
- (void)setsleepBthHidden:(BOOL)YESORNO;
//得到睡眠按钮的状态（本地推送的时候需要用到）
- (BOOL)getsleepBthHidden;
//保存小憩睡眠按钮的状态（本地推送的时候需要用到）
- (void)setScoreButtonHidden:(BOOL)YESORNO;
//得到小憩睡眠按钮的状态（本地推送的时候需要用到）
- (BOOL)getScoreButtonHidden;
//保存关闭睡眠报告按钮的状态（本地推送的时候需要用到）
- (void)setmonitorBthHidden:(BOOL)YESORNO;
//得到关闭睡眠报告按钮的状态（本地推送的时候需要用到）
- (BOOL)getmonitorBthHidden;

//保存是否处于固件升级的状态
- (void)setUpdateHardWare:(BOOL)YESORNO;
//得到是否处于固件升级的状态
- (BOOL)getUpdateHardWare;
//保存固件升级的下载地址
- (void)setUpdateHardWareDownURL:(NSString *)url;
//得到固件升级的下载地址
- (NSString *)getUpdateHardWareDownURL;
//保存固件升级包的本地地址
- (void)setUpdateHardWareDownURLLocal:(NSString *)path;
//得到固件升级包的本地地址
- (NSString *)getUpdateHardWareDownURLLocal;
//设置固件版本 比如1.2（网络上的版本）
- (void)setHardwareNumber:(NSString *)number;
//得到固件版本 比如1.2（网络上的版本）
- (NSString *)getHardwareNumber;

//保存 绑定界面 检测是否是1.4版本以上的  在读取硬件版本号之后弄的  1.4版本之后，不发送key也是可以的。
- (void)setMarkNewNoSendKey:(BOOL)YESORNO;
//得到绑定界面 检测是否是1.4版本以上的  在读取硬件版本号之后弄的  1.4版本之后，不发送key也是可以的。
- (BOOL)getMarkNewNoSendKey;

@end
